def cal(l):
while l and int(l[-1])%2==0:
l.pop()
if not l:
return -1
j=len(l)-2
while j>=0:
if int(l[j])%2==1:
break
j-=1
if j==-1:
return -1
for i in range(j):
l.pop(0)
return "".join(l)
for pratyush in range(int(input())):
n=int(input())
s=input()
l=list(s)
print(cal(l))
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define eb emplace_back
#define endl '\n'
void solve(){
int n; cin>>n;
vector<int> v;
for(int i = 0; i<n; i++){
char x; cin>>x;
if((x - '0')%2){
v.pb((x - '0'));
}
}
if(v.size() <= 1){
cout<<"-1"<<endl;
}
else{
cout<<v[0]<<v[1]<<endl;
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int T; cin>>T;
while(T--){
solve();
}
}
780C - Andryusha and Colored Balloons | 1153A - Serval and Bus |
1487C - Minimum Ties | 1136A - Nastya Is Reading a Book |
1353B - Two Arrays And Swaps | 1490E - Accidental Victory |
1335A - Candies and Two Sisters | 96B - Lucky Numbers (easy) |
1151B - Dima and a Bad XOR | 1435B - A New Technique |
1633A - Div 7 | 268A - Games |
1062B - Math | 1294C - Product of Three Numbers |
749A - Bachgold Problem | 1486B - Eastern Exhibition |
1363A - Odd Selection | 131B - Opposites Attract |
490C - Hacking Cypher | 158B - Taxi |
41C - Email address | 1373D - Maximum Sum on Even Positions |
1574C - Slay the Dragon | 621A - Wet Shark and Odd and Even |
1395A - Boboniu Likes to Color Balls | 1637C - Andrew and Stones |
1334B - Middle Class | 260C - Balls and Boxes |
1554A - Cherry | 11B - Jumping Jack |